/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package migracion;

import entidades.CicloNewlong;
import entidades.EtapaNewlong;
import entidades.Formato;
import entidades.FormatosPorNewlong;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author SBernardez
 */
public class ReCalcularCiclosChile {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws SQLException {
        List<CicloNewlong> list = null;
        try {
            list = CicloNewlong.listar();
        } catch (SQLException ex) {
            Logger.getLogger(ReCalcularCiclosChile.class.getName()).log(Level.SEVERE, null, ex);
        }

        Iterator<CicloNewlong> it = list.iterator();
        while (it.hasNext()){
               CicloNewlong cn = (CicloNewlong) it.next();
               System.out.println("CicloId:" + cn.getId());
               List<FormatosPorNewlong> formatos = FormatosPorNewlong.listar(cn.getNewlongId());
               for (FormatosPorNewlong formato : formatos){
                   System.out.println("Formato:" + formato.getId());
                   EtapaNewlong etapa = EtapaNewlong.getEtapaByCicloYFormato(cn.getId(), formato.getFormatoId());
                    if (etapa != null){
                        System.out.println("Antes:" + etapa.getCantidad());
                        etapa.recalcular(cn.getNewlongId(), cn.getFechaHoraInicio(), cn.getFechaHoraFin(), formato);
                        System.out.println("Despues:" + etapa.getCantidad());
                    }else{
                     System.out.println("Crea nuevo");
                    etapa = new EtapaNewlong();
                    etapa.setFormatoId(formato.getFormatoId());
                    etapa.setCicloId(cn.getId());
                    etapa.recalcular(cn.getNewlongId(), cn.getFechaHoraInicio(), cn.getFechaHoraFin(), formato);
                   }
               }
        }

    }

}
